from Program import create_app, db
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand

# 创建app
from Program.models import User

app = create_app('development')

# 将app托管给manager
manager = Manager(app)

# 开启版本控制
Migrate(app, db)

# 添加托管指令:db
manager.add_command('db', MigrateCommand)


# 创建管理员函数
@manager.option("-n", "-name", dest="name")
@manager.option("-p", "-password", dest="password")
def createsuperuser(name, password):
    """创建管理员用户"""
    if not all([name, password]):
        print('参数不足')
        return

    user = User()
    user.mobile = name
    user.nick_name = name
    user.password = password
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
        print("创建成功")
    except Exception as e:
        print(e)
        db.session.rollback()


if __name__ == '__main__':
    manager.run()
    # 可通过pycharm配置参数(runserver)运行
